KiAutoを使ってCLIでKiCadデータを出力してみた
こんにちはCX事業本部IoT事業部のさかじです。
KiCadを便利にしようシリーズ(?)第2弾です。
回路図のドキュメント類を出力するためにはKiCadから回路図やBOMを手動で出力していました。もちろんERC, DRCなども手動で実行することになります。
手動ということはミスを誘発する可能性がありますので、なるべく自動で行いたいですね。
KiAutoを使用するとローカルで自動出力ができるようになります。今回はKiAutoを使って図面を自動で出力するようにしてみました。
環境
- Windows10
- Ubuntu(WSL)
- KiCad 5.1.x
前提条件
- PowerShellでWSLのLinuxディストリビューション
> wsl --list Linux 用 Windows サブシステム ディストリビューション: Debian (既定) Ubuntu > wsl --list --verbose NAME STATE VERSION * Debian Running 2 Ubuntu Stopped 2
-
Ubuntuバージョン
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal
-
Pythonバージョン
$ python3 --version Python 3.8.10
-
UbuntuへのKiCadインストール
KiCadデータをKiCad-Diffを使ってデータを比較してみた - KiCadインストール
環境構築
[Ubuntu] xvfbインストール
$ sudo apt install xvfb
[Ubuntu] xdotoolインストール
$ sudo apt install xdotool
インストール
$ pip3 install kiauto
インストール先が~/.local/bin/
でした。pathが通っていない場合もありますので必要に応じて追加してください。
$ export PATH=$PATH:~/.local/bin/
動かしてみた
回路図のPDF作成
以下のコマンドを実行します。
$ eeschema_do export -a kiauto-test.sch ./
カレントディレクトリへPDFが自動で生成されます。
回路図と同じように出力されています。
- KiCad
- Acrobat
ERCの実施
わざと配線を削除してERCを実施してみました。
$ eeschema_do run_erc ./kiauto-test.sch ./ WARNING:4 ERC warnings detected (eeschema_do - eeschema_do:622) WARNING:(2) Pin not connected (use a "no connection" flag to suppress this error) @(140.97 mm, 71.12 mm): Pin 1 (Passive) of component D1 is unconnected. (eeschema_do.kiauto.file_util - file_util.py:141) WARNING:(2) Pin not connected (use a "no connection" flag to suppress this error) @(115.57 mm, 63.50 mm): Pin 1 (Power input) of component #PWR0101 is unconnected. (eeschema_do.kiauto.file_util - file_util.py:141) WARNING:(2) Pin not connected (use a "no connection" flag to suppress this error) @(121.92 mm, 71.12 mm): Pin 2 (Passive) of component R1 is unconnected. (eeschema_do.kiauto.file_util - file_util.py:141) WARNING:(2) Pin not connected (use a "no connection" flag to suppress this error) @(149.86 mm, 77.47 mm): Pin 1 (Power input) of component #PWR0102 is unconnected. (eeschema_do.kiauto.file_util - file_util.py:141) $
エラーがコンソールへ出力され、kiauto-test.erc
ファイルが作成されました。
テキストエディタで見ると上記の内容が保存されていました。
ネットリスト出力
$ eeschema_do netlist kiauto-test.sch ./
カレントディレクトリにkiauto-test.net
ファイルが作成されました。
BOMの出力
$ eeschema_do bom_xml kiauto-test.sch ./
カレントディレクトリにkiauto-test.csv
ファイルが作成されました。
参考サイト
最後に
回路図関係の出力を試してみました。各操作をまとめて実行すれば作業忘れはありませんね。今回はPCB側の操作は試しませんでしたが、追加のライブラリなど必要ですが基本的には簡単に操作できるように見えました。